Add gtk_cell_view_new_with_texture
authorMatthias Clasen <mclasen@redhat.com>
Thu, 30 Nov 2017 00:28:53 +0000 (19:28 -0500)
committerMatthias Clasen <mclasen@redhat.com>
Thu, 30 Nov 2017 00:28:53 +0000 (19:28 -0500)
Just more api to replace pixbufs with textures.

docs/reference/gtk/gtk4-sections.txt
gtk/gtkcellview.c
gtk/gtkcellview.h

index 5b5ff53cb1296250b67bbd01144735d5bffad736..c4313508b3fcb2f0df7386a766e87d2888ec3972 100644 (file)
@@ -3983,6 +3983,7 @@ gtk_cell_view_new_with_context
 gtk_cell_view_new_with_text
 gtk_cell_view_new_with_markup
 gtk_cell_view_new_with_pixbuf
+gtk_cell_view_new_with_texture
 gtk_cell_view_set_model
 gtk_cell_view_get_model
 gtk_cell_view_set_displayed_row
index 3ffffd50a41032cbbf83a5e8fb06015807606319..a5482e39be06d2513e75d195642caed21ffceebb 100644 (file)
@@ -943,6 +943,38 @@ gtk_cell_view_new_with_pixbuf (GdkPixbuf *pixbuf)
   return GTK_WIDGET (cellview);
 }
 
+/**
+ * gtk_cell_view_new_with_texture:
+ * @texture: the image to display in the cell view
+ *
+ * Creates a new #GtkCellView widget, adds a #GtkCellRendererPixbuf
+ * to it, and makes it show @texture.
+ *
+ * Returns: A newly created #GtkCellView widget.
+ *
+ * Since: 3.94
+ */
+GtkWidget *
+gtk_cell_view_new_with_texture (GdkTexture *texture)
+{
+  GtkCellView *cellview;
+  GtkCellRenderer *renderer;
+  GValue value = G_VALUE_INIT;
+
+  cellview = GTK_CELL_VIEW (gtk_cell_view_new ());
+
+  renderer = gtk_cell_renderer_pixbuf_new ();
+  gtk_cell_layout_pack_start (GTK_CELL_LAYOUT (cellview),
+                             renderer, TRUE);
+
+  g_value_init (&value, GDK_TYPE_TEXTURE);
+  g_value_set_object (&value, texture);
+  gtk_cell_view_set_value (cellview, renderer, "texture", &value);
+  g_value_unset (&value);
+
+  return GTK_WIDGET (cellview);
+}
+
 /**
  * gtk_cell_view_set_value:
  * @cell_view: a #GtkCellView widget
index e96bfe4594acde2bced40578a7a0328a57a88719..4e6a0682bf17b39fdc4c63e8cef0599e47ab3644 100644 (file)
@@ -79,6 +79,8 @@ GDK_AVAILABLE_IN_ALL
 GtkWidget        *gtk_cell_view_new_with_markup         (const gchar     *markup);
 GDK_AVAILABLE_IN_ALL
 GtkWidget        *gtk_cell_view_new_with_pixbuf         (GdkPixbuf       *pixbuf);
+GDK_AVAILABLE_IN_3_94
+GtkWidget        *gtk_cell_view_new_with_texture        (GdkTexture      *texture);
 GDK_AVAILABLE_IN_ALL
 void              gtk_cell_view_set_model               (GtkCellView     *cell_view,
                                                          GtkTreeModel    *model);